Generally, an Internet based communication system includes a protocol stack of five layers, wherein each protocol layer is configured as illustrated in FIG. 1.
FIG. 1 illustrates an example of an Internet protocol stack, which is generally used.
Referring to FIG. 1, a protocol stack includes an uppermost layer, which is an application layer and is to support network application such as FTP/HTTP/SMTP/RTP. The protocol stack further includes a transport layer and a network layer, wherein the transport layer serves to transmit data between hosts using TCP/UDP protocol, and the network layer performs setup of a data transmission path from a source to a destination through IP protocol. Furthermore, the protocol stack includes a link layer and a physical layer, wherein the link layer serves to perform data transmission and media access control (MAC) between peripheral network entities through PPP/Ethernet protocol, etc, and the physical layer is a lowest layer which performs data transmission of a bit unit using wire or wireless media.
FIG. 2 illustrates an operation of each layer for data transmission, which is generally used.
Referring to FIG. 2, a transport layer of a transmitting side generates a new data unit by adding header information to message payload received from the uppermost layer, i.e., application layer. The transport layer transmits the data unit to the lower layer, i.e., network layer. The network layer generates a new data unit by adding header information used for the network layer to the data received from the transport layer, and transmits the data unit to the link layer belonging to the lower layer. The link layer generates a new data unit by adding header information used for the link layer to the data received from the upper layer, and transmits the generated data unit to the physical layer belonging to the lowest layer. The physical layer transmits the data unit, which has been received from the link layer, to a receiving side.
The physical layer of the receiving side receives the data unit from the transmitting side and transmits the data unit to its upper layer, i.e., link layer. The receiving side processes a header added to each layer and transmits message payload, from which header has been removed, to the upper layer. Data transmission and reception between the transmitting side and the receiving side are performed through the above procedure.
As illustrated in FIG. 2, for data transmission and reception between the transmitting side and the receiving side, each layer performs control functions such as data addressing, routing, forwarding, and data retransmission by adding protocol header. However, in various application services such as voice over IP (VoIP), Internet game, and messenger service, it is likely that payload of IP packet may have a size similar to or smaller than that of the header. Generally, in case of end to end connection where various entities are provided for data transfer path, each header performs an important role. A header used in various layers can be compressed at a small size within a single link.
Mobile communication systems define MAC header of a fixed length to support a corresponding protocol in accordance with each system. For example, MAC header of a broadband wireless access system based on IEEE 802.16 system has a fixed length of 6 bytes.
Generally, real-time service such as VoIP is characterized in that packets are periodically generated, and their length is short and constant. The real-time service such as VoIP should frequently provide a service. Accordingly, a problem occurs in that a protocol header used for the service may act as large overhead. In order to solve this problem, a header compression algorithm can be used in a third layer or higher, such as ROHC. However, since different protocols are used for each system and a unique header for each protocol is defined in layers lower than MAC layer (second layer), compression of the MAC header is not defined separately. However, in case of service such as VoIP where short packets are generated frequently, MAC header of 6 bytes may act as MAC overhead in comparison with user data of 33 bytes or 7 bytes. For this reason, it is necessary to consider compression of MAC header in the second layer or lower to reduce MAC overhead.